The present invention relates to random event generators and more specifically to secure determination of an outcome using random event generators.
Casinos have long been filled with electromechanical or stepper motor controlled devices commonly referred to as slot machines. A wide variety of these types of machines exist, some with three reels and some with four or five. These mechanical devices are fast becoming replaced by video based computer controlled machines which simulate the spinning reels. Other types of video-based computer controlled machines are also available these other machines allowing players to play poker, blackjack, keno and other varieties of games.
All of these game machines utilize a variety of techniques to prevent fraud and prediction of results. Security techniques employed include proprietary software for generation of random numbers, physical protection via locks and alarms, and post outcome verification.
Generally on these machines and games, determination of the game""s outcome is resolved either within the gaming machine or within a host system communicating with the gaming machine. Within each of these places, the win may be determined using a wide variety of techniques. The most prevalent way to determine game outcome is for a random number mechanism/device in the machine to select elements of the outcome and these elements are then evaluated by standard rules to determine the result. An example would be on a poker game, the random number generator would select five cards randomly from a deck of 52. The five cards are then compared against a win table to determine the prize.
An alternative method to determine the result is to randomly select an element from a list of possible outcomes. Some of the outcomes are wins; some are losses. For those outcomes that are wins, the magnitude of the win is determined within that same selection. An example would be to select one outcome randomly from a set of outcomes. The set of outcomes could include 100 losses, 1 top prize win, 5 second prize wins, 10 third prize wins and 100 fourth prize wins.
Random number generation methods are conventionally based on a single source of random number generation for outcome of a particular draw event. Methods and security of random number generation are typically focused on steps to ensure the algorithm for random generation is derived from a purely random probability event, typically a secure, single point source random number generator.
A risk with a single source of generation is that random outcome can be compromised by tampering with the generation algorithm. Thus, having a single random event generator provides a single point of access to alter the random process algorithm and presents a security risk. A skilled programmer having gained access to a machine may defraud the institution operating the machine by providing ways to either predict the outcome of the machine or make a specific outcome arise at desirable times.
The invention provides, in preferred embodiments, an apparatus and a method for the secure generation of a random outcome. The apparatus, in one embodiment of the invention, may be used in conjunction with a payout gaming machine for the gaming industry. In another embodiment, the apparatus includes a first processor, a second processor and a communications path therebetween. The first processor has a random event generator for generating a first event of a multiple-part event and the second processor has a random event generator for generating a second event of the multiple-part event. The first processor sends the generated first event to the second processor via the communications path and the second processor uses the first event and the second event to form an outcome. The first processor may be located inside a first housing and the second processor may be located inside a second housing.
In yet another embodiment, the first processor may create a log of all first events generated and store the log in a first processor storage medium and the second processor may create a log of all second events generated and store the log in a second processor storage medium. In other embodiments, the first random event generator and the second random event generator may generate first events and second events at periodic times or random periods. In another embodiment, the first and second random event generators attach identification data to the first event and the second event. The identification data may include time of generation of the event and a digital signature of the processor generating the event. In still another embodiment, the first processor has means for encrypting the first event before sending the first event to the second processor and the second processor has the key for decrypting the first event.
In an alternative embodiment in accordance with the invention, the apparatus may include a third processor, where there is a communications path between the first processor and the third processor and a communications path between the third processor and the second processor. The third processor receives the first event from the first processor and the second event from the second processor and an outcome is determined by the first and second events. In various embodiments, the outcome may be determined on the first processor, the second processor, the third processor or on both the first and second processors.
In another embodiment, the first processor encrypts the first event needing a first decryption key for decryption and the second processor encrypts the second event needing a second decryption key for decryption. The third processor has the first key and the second key and may decrypt the first event and the second event prior to using the first event and the second event to form an outcome.
In other embodiments, the third processor may be located in the first housing or the second housing or in another location. The apparatus may also be configured so that the first processor is not in direct communication with the second processor. The third processor may create a log of received first and second events and store the log in a third processor storage medium.
In yet another embodiment, the second processor has means for encrypting the second event needing a second decryption key for decryption and the first processor has the second decryption key and means for decrypting the second event before using the first event and the second event to form an outcome. In another embodiment, the third processor combines the encrypted first event with the encrypted second event forming a combination event and encrypts the combination event needing a third key for decryption forming an encrypted combination event. The encrypted combination event is sent to the first processor which stores the information in the first processor storage medium.